/*
 *	Copyright © 2013 Changsha Shishuo Network Technology Co., Ltd. All rights reserved.
 *	长沙市师说网络科技有限公司 版权所有
 *	http://www.shishuo.com
 */
package com.hlingsoft.kkh.dao;

import com.hlingsoft.kkh.entity.Job;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 管理员
 * 
 * @author Zhangjiale
 */

@Repository
public interface AdminJobDao {

	// ///////////////////////////////
	// ///// 增加 ////////
	// ///////////////////////////////

	/**
	 * 添加job
	 * 
	 * @param job
	 * @return Integer
	 * 
	 */
	public int addJob(Job job);

	// ///////////////////////////////
	// ///// 刪除 ////////
	// ///////////////////////////////

	/**
	 * 删除管理员
	 * 
	 * @param id
	 * @return Integer
	 * 
	 */
	public int deleteJob(@Param("id") long id);

	// ///////////////////////////////
	// ///// 修改 ////////
	// ///////////////////////////////

	/**
	 * 修改管job资料
	 *
	 * @param job
	 * @return Integer
	 *
	 */
	public void updateJob(Job job);

	// ///////////////////////////////
	// ///// 查詢 ////////
	// ///////////////////////////////

	/**
	 * 获取所有job列表
	 * 
	 * @param offset
	 * @param rows
	 * @return List<Job>
	 * 
	 */
	public List<Job> getAllJobList(@Param("offset") long offset,
								  @Param("rows") long rows);



	public List<Job> getAllJobListByCategory( @Param("category") long category,@Param("offset") long offset,
								   @Param("rows") long rows);

	public List<Job> getAllJobListByMerchant( @Param("merchantId") long merchantId,@Param("offset") long offset,
											  @Param("rows") long rows);


	/**
	 * 获取所有job的数量
	 * 
	 * @return Integer
	 * 
	 */
	public int getAllJobListCount();

	//jobName查询职位
	public List<Job> getJobByJobName(@Param("jobName") String jobName,@Param("offset") long offset,
									 @Param("rows") long rows);

	public int getJobByJobNameCount(@Param("jobName") String jobName);
	//	jobAddress查询职位
	public List<Job> getJobByJobAddress(@Param("jobAddress") String jobAddress,@Param("offset") long offset,
									 @Param("rows") long rows);

	public int getJobByJobAddressCount(@Param("jobAddress") String jobAddress);

	// 通过jobName和jobAddress查询职位
	public List<Job> getJobByJobNameJobAddress(@Param("jobName") String jobName,@Param("jobAddress") String jobAddress,@Param("offset") long offset,
										@Param("rows") long rows);

	public int getJobByJobNameJobAddressCount(@Param("jobName") String jobName,@Param("jobAddress") String jobAddress);
	/**
	 * 通过Id获得指定管Job资料
	 * 
	 * @param id
	 * @return Job
	 */
	public Job getJobById(@Param("id") long id);

	public int  getJobListByMerchantCount( @Param("merchantId") long merchantId);

	public  List<Job> getSearchJob(@Param("jobType") String jobType,@Param("jobName") String jobName,@Param("jobAddress") String jobAddress,@Param("offset") long offset,
								   @Param("rows") long rows);

	public  int getSearchJobCount(@Param("jobType") String jobType,@Param("jobName") String jobName,@Param("jobAddress") String jobAddress);

}
